package com.dragon.common.modules.uaa.service.assistants.def;

import com.dragon.common.spring.annotations.Assistant;

/**
 * @author Chris Chan
 * Create On 2025/8/8 下午1:01
 * Use for:
 * Explain:
 */
@Assistant
public interface VerifyCodeAssistant {
    /**
     * 构建随机验证码
     *
     * @param len 验证码长度
     * @return 随机验证码
     */
    String buildRandomCode(int len);

    /**
     * 校验手机号验证码
     *
     * @param mobile 手机号
     * @param code      验证码
     * @return 是否校验通过
     */
    boolean checkSmsVerifyCode(String mobile, String code);

    /**
     * 校验邮箱验证码
     *
     * @param email 邮箱
     * @param code  验证码
     * @return 是否校验通过
     */
    boolean checkEmailVerifyCode(String email, String code);

    /**
     * 校验图片验证码
     *
     * @param verifyCode 验证码
     * @return 是否校验通过
     */
    boolean checkGraphVerifyCode(String verifyCode);
}
